package cn.lzd.mr.mroverride.distributedCache;

import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Partitioner;

/**
 * Created by lzd on 2018/12/12.
 */
public class Demo3Partition extends Partitioner<Text, Text> {


    //如果数据量特别大，因为只设置2个reduce，可能出问题，所以可以把某个大文件打散，如下
    //增大reduce的数量，例如reduce.task=200
    @Override
    public int getPartition(Text text, Text text2, int i) {
        String key = text.toString();
        int index = i - 1;
        if (key.startsWith("ok")) {
            return (key.hashCode() & Integer.MAX_VALUE) % index;
        } else {
            return index;
        }
    }
}
